package com.goodbook.community.dao;

import com.goodbook.community.entity.DiscussPost;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

@Mapper
public interface DiscussPostMapper {
    //查找帖子
    //因为返回了一堆帖子，因此返回的为List<>
    //userId为帖子表里的userId，以便于将来开发个人主页的“我发布的帖子”功能
    //在首页调查询帖子的时候，不会传入userId，因此设置一个默认值为0，不拼接到sql中；当userId不为0时，就需要拼到sql中。即实现动态sql
    //分页
    //由于使用的是Mysql，因此分页功能比较简单，只需要设置每页起始行行号，和limit（每页显示的数量）
    List<DiscussPost> selectDiscussPosts(int userId, int offset, int limit);

    //一共有多少页需要计算，两个变量：数据总量，每页数据量。
    //因此还需要得到数据总量
    //@Param来起别名，方便写。如果需要动态拼接sql（在“< if >”中使用），并且这个方法有且只有1个条件，则必须起别名。
    int selectDiscussPostRows(@Param("userId") int userId);


}
